package com.sta.oldman.utils;

import java.util.regex.Pattern;

/**
 * @author: LunBoWang
 * @description: 校验手机号
 * @date: 2025/7/14 上午11:50
 * @version: 1.0
 */

public class Check {

    // 中国大陆手机号正则（11位，以 1 开头）
    private static final Pattern PHONE_PATTERN =
            Pattern.compile("^1[3-9]\\d{9}$");

    public static boolean isValidPhone(String phone) {
        if (phone == null || phone.isEmpty()) {
            return false;
        }
        return PHONE_PATTERN.matcher(phone).matches();
    }

    // 电子邮箱正则表达式
// 规则：
// 1. 用户名部分可以包含字母、数字、点、减号、下划线
// 2. 域名部分必须包含点，且不能以点开头或结尾
// 3. 顶级域名至少两位字符
    private static final Pattern EMAIL_PATTERN =
            Pattern.compile("^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$");

    /**
     * 校验电子邮箱格式是否合法
     * @param email 待校验的电子邮箱地址
     * @return 如果格式合法返回true，否则返回false
     */
    public static boolean isValidEmail(String email) {
        if (email == null || email.isEmpty()) {
            return false;
        }
        return EMAIL_PATTERN.matcher(email).matches();
    }
}
